Hypernode Reduction Modulo Scheduling 1
نویسندگان
چکیده
Software Pipelining is a loop scheduling technique that extracts parallelism from loops by overlapping the execution of several consecutive iterations. Prior scheduling research has focused on achieving minimal execution time, without regarding register requirements Unidirectional strategies (top-down or bottom-up) tend to stretch operand lifetimes because they schedule some operations too early/late. The paper presents a novel bidirectional strategy that simultaneously schedules some operations late and other operations early, minimizing all the stretchable dependencies and therefore reducing the registers required by the loop. The key of this strategy is a pre-ordering phase that selects the order in which the operations will be scheduled. The pre-ordering heuristic guarantees that, when an operation is selected to be scheduled into the current partial scheduling, there are only predecessors or successors of the operation that have been already scheduled. An operation will be scheduled early in the schedule if it contains predecessors of the operation and late if it contains successors of the operation. We compare our method against other three leading scheduling methods. Both of them are heuristic methods and one is an exact integer linear programming formulation of the scheduling problem. Experimental results show that the method described in this paper performs as well as the linear programming method, but with an scheduling time comparable to the heuristic methods. When compared with the other heuristic methods, our method performs signi cantly better.
منابع مشابه
Hypernode Graphs for Spectral Learning on Binary Relations over Sets
We introduce hypernode graphs as weighted binary relations between sets of nodes: a hypernode is a set of nodes, a hyperedge is a pair of hypernodes, and each node in a hypernode of a hyperedge is given a non negative weight that represents the node contribution to the relation. Hypernode graphs model binary relations between sets of individuals while allowing to reason at the level of individu...
متن کاملEnhanced Modulo Scheduling for Loops with Conditional
Loops with conditional branches have multiple execution paths which are diicult to software pipeline. The mod-ulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval th...
متن کاملLearning with Hypernode Graphs Spectral Learning with Hypernode Graphs Application to Skill Rating for Multiple Players Games∗
The aim of this paper is to propose methods for learning from interactions between groups in networks. For this, we introduce hypernode graphs as a formal tool able to model group interactions. A hypernode graph is a set of weighted binary relations between disjoint sets of nodes. We define Laplacians and kernels for hypernode graphs. And we propose spectral learning algorithms over hypernode g...
متن کاملExplicitly Staged Software Pipelining
This paper describes an alternative to modulo scheduling for loops, in which the first step is to divide instructions into stages by solving a series of min-cut problems constructed from the code graph of the unscheduled loop body. Our algorithm is formulated and implemented in terms of the code graphs of our own “declarative assembly language” for CELL SPUs. We have measured an average 20% red...
متن کاملEnhanced Co - Scheduling : A Software Pipelining
Instruction scheduling methods which use the concepts developed by the classical pipeline theory have been proposed for architectures involving deeply pipelined function units. These methods rely on the construction of state diagrams (or automatons) to (i) eeciently represent the complex resource usage pattern, and (ii) analyze legal initiation sequences, i.e., those which do not cause a struct...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995